package tests;

import common.Utils;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;

/**
 * 测试登陆状态下的页面
 */
public class LoginPage extends Utils {
    public static String url = "http://127.0.0.1:8080/blog_login.html";
    public LoginPage() {
        super(url);
    }
    //测试页面是否加载完成
    public void LoadSuccess(){
        //查看该元素是否能找到，可以即登陆成功
        driver.findElement(By.cssSelector("body > div.nav > a:nth-child(4)"));
//        driver.quit();
    }

    //测试是否登陆成功
    public void LoginSuccess(String username, String password) throws InterruptedException {

        //不能保证每次调用该方法都是放在最前面，所以先刷新
        driver.navigate().refresh();

        driver.findElement(By.cssSelector("#username")).sendKeys(username);
        driver.findElement(By.cssSelector("#password")).sendKeys(password);
        driver.findElement(By.cssSelector("#submit")).click();

        //通过查看登陆后界面是否能找到对应元素判断是否登陆成功
        driver.findElement(By.cssSelector("body > div.container > div.left > div > h3"));
        Thread.sleep(1000);
        String title = driver.getTitle();
        assert title.equals("博客列表页");
        //登陆成功后回到原始界面
        driver.navigate().back();

//        driver.quit();
    }

    public void LoginFail(String username, String password) throws InterruptedException {
        //这里需要刷新，否则登陆输入框中还有上次的内容，或者使用clear也可以
        driver.navigate().refresh();

        driver.findElement(By.cssSelector("#username")).sendKeys(username);
        driver.findElement(By.cssSelector("#password")).sendKeys(password);
        driver.findElement(By.cssSelector("#submit")).click();

        Thread.sleep(1000);
        Alert alert = driver.switchTo().alert();
        alert.accept();

//        driver.quit();
    }
}
